package org.jeecg.modules.outbound.entity;

import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.aspect.annotation.Dict;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

import java.math.BigDecimal;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.UnsupportedEncodingException;

/**
 * @Description: 包材出库单明细
 * @Author: jeecg-boot
 * @Date:   2024-08-12
 * @Version: V1.0
 */
@ApiModel(value="buss_package_outbound_order_detail对象", description="包材出库单明细")
@Data
@TableName("buss_package_outbound_order_detail")
public class BussPackageOutboundOrderDetail implements Serializable {
    private static final long serialVersionUID = 1L;

    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**出库信息ID*/
    @Excel(name = "出库信息ID", width = 15)
    @ApiModelProperty(value = "出库信息ID")
    private String informationId;
    /**库存ID*/
    @Excel(name = "库存ID", width = 15)
    @ApiModelProperty(value = "库存ID")
    private String inventoryId;
    /**物料ID*/
    @Excel(name = "物料ID", width = 15)
    @ApiModelProperty(value = "物料ID")
    private String materialId;
    /**物料编号*/
    @Excel(name = "物料编号", width = 15)
    @ApiModelProperty(value = "物料编号")
    private String materialCode;
    /**物料名称*/
    @Excel(name = "物料名称", width = 15)
    @ApiModelProperty(value = "物料名称")
    private String materialName;
    /**规格型号*/
    @Excel(name = "规格型号", width = 15)
    @ApiModelProperty(value = "规格型号")
    private String noneSpec;
    /**主计量*/
    @Excel(name = "主计量", width = 15, dicCode = "ji_unit")
    @Dict(dicCode = "ji_unit")
    @ApiModelProperty(value = "主计量")
    private String meUnit;
    /**数量*/
    @Excel(name = "数量", width = 15)
    @ApiModelProperty(value = "数量")
    private BigDecimal quantity;
    /**批次号*/
    @Excel(name = "批次号", width = 15)
    @ApiModelProperty(value = "批次号")
    private String batchNumber;
    /**物料批号*/
    @Excel(name = "物料批号", width = 15)
    @ApiModelProperty(value = "物料批号")
    private String materialBatchNumber;
    /**库位*/
    @Excel(name = "库位", width = 15)
    @ApiModelProperty(value = "库位")
    private String warehouseLocation;
    /**入库数量*/
    @Excel(name = "入库数量", width = 15)
    @ApiModelProperty(value = "入库数量")
    private BigDecimal inventoryQuantity;
    /**已出数量*/
    @Excel(name = "已出数量", width = 15)
    @ApiModelProperty(value = "已出数量")
    private BigDecimal outputQuantity;
    /**宝洁供应商编码*/
    @Excel(name = "宝洁供应商编码", width = 15)
    @ApiModelProperty(value = "宝洁供应商编码")
    private String bjSupplierCode;
    /**宝洁供应商*/
    @Excel(name = "宝洁供应商", width = 15)
    @ApiModelProperty(value = "宝洁供应商")
    private String bjSupplierName;
    /**入库ID*/
    @Excel(name = "入库ID", width = 15)
    @ApiModelProperty(value = "入库ID")
    private String warehousingId;
    /**入库单号*/
    @Excel(name = "入库单号", width = 15)
    @ApiModelProperty(value = "入库单号")
    private String warehousingCode;
    /**入库日期*/
    @Excel(name = "入库日期", width = 20, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "入库日期")
    private Date warehousingDate;
    /**限用日期*/
    @Excel(name = "限用日期", width = 20, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "限用日期")
    private Date restrictedDate;
    /**宝洁单号*/
    @Excel(name = "宝洁单号", width = 15)
    @ApiModelProperty(value = "宝洁单号")
    private String bjNo;
    /**占用数量*/
    @Excel(name = "占用数量", width = 15)
    @ApiModelProperty(value = "占用数量")
    private BigDecimal occupationQuantity;
    /**辅助单位*/
    @Excel(name = "辅助单位", width = 15, dicCode = "zl_unit")
    @Dict(dicCode = "zl_unit")
    @ApiModelProperty(value = "辅助单位")
    private String auUnit;
    /**辅助数量*/
    @Excel(name = "辅助数量", width = 15)
    @ApiModelProperty(value = "辅助数量")
    private BigDecimal auQuantity;
    /**入库辅助数量*/
    @Excel(name = "入库辅助数量", width = 15)
    @ApiModelProperty(value = "入库辅助数量")
    private BigDecimal inAuQuantity;
    /**已出辅助数量*/
    @Excel(name = "已出辅助数量", width = 15)
    @ApiModelProperty(value = "已出辅助数量")
    private BigDecimal outAuQuantity;
    /**占用辅助数量*/
    @Excel(name = "占用辅助数量", width = 15)
    @ApiModelProperty(value = "占用辅助数量")
    private BigDecimal occupationAuQuantity;
    /**单位换算率*/
    @Excel(name = "单位换算率", width = 15)
    @ApiModelProperty(value = "单位换算率")
    private String conversionRate;
    /**供应商*/
    @Excel(name = "供应商", width = 15, dictTable = "erp_supplier", dicText = "name", dicCode = "id")
    @Dict(dictTable = "erp_supplier", dicText = "name", dicCode = "id")
    @ApiModelProperty(value = "供应商")
    private String supplierId;
    /**生产车间*/
    @Excel(name = "生产车间", width = 15, dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @Dict(dictTable = "sys_depart", dicText = "depart_name", dicCode = "id")
    @ApiModelProperty(value = "生产车间")
    private String productionWorkshop;
    /**客户名称*/
    @Excel(name = "客户名称", width = 15)
    @ApiModelProperty(value = "客户名称")
    private String customerName;
    /**备注*/
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
    /**订单编号*/
    @Excel(name = "订单编号", width = 15)
    @ApiModelProperty(value = "订单编号")
    private String orderNo;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
    private Date updateTime;
    /**所属部门*/
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
    /**父级节点*/
    @Excel(name = "父级节点", width = 15)
    @ApiModelProperty(value = "父级节点")
    private String pid;
    /**是否有子节点*/
    @Excel(name = "是否有子节点", width = 15, dicCode = "yn")
    @Dict(dicCode = "yn")
    @ApiModelProperty(value = "是否有子节点")
    private String hasChild;
}
